Traditionally, hard disk drives have been used as data storage in a computing device. With advance of non-volatile memory (e.g., NAND flash memory), some attempts have been made to use non-volatile memory as the data storage. One form of the data storage device using NAND flash memory is referred to as solid state drive (SSD).
Advantages of using NAND flash memory as data storage over hard disk drive are as follows:
(1) No moving parts;
(2) No noise or vibration caused by the moving parts;
(3) Higher shock resistance;
(4) Faster startup (i.e., no need to wait for spin-up to steady state);
(5) Faster random access;
(6) Faster boot and application launch time; and
(7) Lower read and write latency (i.e., seek time).
In order to ensure SSD's reliability, a rigorous testing procedure during manufacturing is required. Because SSD is based on NAND flash memory, idiosyncrasies of the controller and natures of the flash memory must be accounted for in the testing procedure. For example, NAND flash memory based SSD is generally arranged in blocks, pages and sectors. A specific logical-to-physical address mapping scheme is employed to allow efficient usage of the NAND flash. In addition, a wear leveling scheme is employed in the SSD controller to ensure entire flash memory array is used as evenly as possible. Since wear leveling and logical-to-physical mapping schemes dictate flash memory data programming or writing order, the test platform cannot control data programming to which sector/page/block of the SSD. As a result, test platform cannot locate where the problem flash memory when the SSD controller controls the SSD. Therefore, it would be desirable to have an improved SSD testing system and method that can overcome the problem described above.